home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Sunday Times: The Month 2003 September
/
The Sunday Times - The Month 2003-09.iso
/
mac
/
The Month SEP 03
/
assets
/
panels
/
prize.swf
/
scripts
/
DefineSprite_37
/
frame_1
/
DoAction.as
Wrap
Text File
|
2003-08-15
|
2KB
|
102 lines
refresh = function()
{
SCROLLHEIGHT = 350;
mScrollTrack._height = SCROLLHEIGHT - 22;
mArrow_down._y = SCROLLHEIGHT - 11;
maxTargetPos = 0;
targetHeight = target._height + 20;
minTargetPos = maxTargetPos - targetHeight + SCROLLHEIGHT;
targetRange = Math.abs(maxTargetPos - minTargetPos);
if(targetHeight < SCROLLHEIGHT)
{
_visible = 0;
}
else
{
_visible = 1;
}
scrolling = dragging = 0;
var scrollRatio = SCROLLHEIGHT / targetHeight;
if(scrollRatio < 1)
{
mScroller._height = scrollRatio * mScrollTrack._height;
mScroller._visible = 1;
}
else
{
mScroller._visible = 0;
}
minScrollerPos = mScrollTrack._y;
maxScrollerPos = minScrollerPos + mScrollTrack._height - mScroller._height;
scrollerRange = Math.abs(mScrollTrack._height - mScroller._height);
SCROLLSPEED = 5;
scrollerColor = new Color(mScroller);
updateScroller();
};
mArrow_up.onPress = function()
{
onEnterFrame = scrollUp;
};
mArrow_down.onPress = function()
{
onEnterFrame = scrollDown;
};
mScroller.onPress = function()
{
this.startDrag(0,this._x,minScrollerPos,this._x,maxScrollerPos);
this.onMouseMove = this._parent.drag;
};
mScroller.onRollOver = function()
{
scrollerColor.setRGB(6443289);
};
mScroller.onRollOut = function()
{
scrollerColor.setRGB(12170390);
};
this.onMouseUp = function()
{
onEnterFrame = null;
onMouseMove = null;
mScroller.stopDrag();
updateScroller();
scrollerColor.setRGB(12170390);
};
scrollUp = function()
{
if(target._y < maxTargetPos)
{
target._y += SCROLLSPEED;
}
if(target._y > maxTargetPos)
{
target._y = maxTargetPos;
}
updateScroller();
};
scrollDown = function()
{
if(target._y > minTargetPos)
{
target._y -= SCROLLSPEED;
}
if(target._y < minTargetPos)
{
target._y = minTargetPos;
}
updateScroller();
};
drag = function()
{
var draggedAmount = mScroller._y - minScrollerPos;
var scrollAmount = draggedAmount / scrollerRange;
target._y = maxTargetPos - scrollAmount * targetRange;
};
updateScroller = function()
{
var targetScrolledAmount = maxTargetPos - target._y;
var ratioScrolled = targetScrolledAmount / targetRange;
mScroller._y = minScrollerPos + ratioScrolled * scrollerRange;
};
refresh();